"""
Java 的方法重载（Method Overloading）特性

推荐使用第一种 @singledispatch 的方式，因为：
    1. 代码更清晰，每个类型的处理逻辑独立
    2. 易于扩展，只需添加新的装饰器即可
    3. 运行时动态分发，性能好
    4. 支持继承关系的类型


注意事项：
    1. @singledispatch 只能基于单个参数进行分发
    2. 如果需要基于多个参数进行分发，可以使用 @functools.singledispatchmethod
    3. Python 的类型提示（type hints）主要用于静态类型检查，运行时不会影响实际行为
"""
